import fetch from 'common/src/utils/fetch'
import {InputType} from 'zlib';

/**
 * 分页查询任务列表
 * @param {*} data
 */
export function getTasks(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/findTaskTemplateLimit',
    method: 'post',
    data
  })
}

/**
 * 分页查询任务不带详情列表
 * @param {*} data
 */
export function getTasksNoDetail(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/listWithoutDetails',
    method: 'post',
    data
  })
}

/**
 * ID查询任务详情
 * @param {templateId:1} data
 */
export function getOneTask(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/selectTaskTemplateById',
    method: 'post',
    data
  })
}

/**
 * 更新任务状态
 * @param data
 */
export function updateTaskStatus(data) {
  return fetch({
    url: '/api/welcomeservice/taskInfo',
    method: 'put',
    data
  })
}

export function uploadTaskTemplate(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/uploadTaskTemplate',
    method: 'post',
    data
  })
}

export function selectTaskTemplateList() {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/selectTaskTemplateList',
    method: 'post'
  })
}

/**
 * 创建新任务
 * @param {*} newTask
 */
export function createNewTask(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate',
    method: 'post',
    data
  })
}

/**
 * 编辑任务
 * @param {*} newTask
 */
export function updateTask(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate',
    method: 'put',
    data
  })
}

/**
 * 获取年级或学界列表
 */
export function selectYearGroupBy() {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/selectYearGroupBy',
    method: 'get'
  })
}

/**
 * @param { templateIdList:["1","2"] } data
 * 删除单个任务或批量删除任务
 */
export function deleteTask(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate',
    method: 'delete',
    data
  })
}

/**
 * 发布单个任务或批量发布任务
 * @param {templateIdList:["1","2"]} data
 */
export function releaseTask(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/releaseTaskTemplate',
    method: 'post',
    data
  })
}

/**
 * 撤销单个任务或撤销多个任务
 * @param {templateIdList:["1","2"]} data
 */
export function undoTask(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/undoTaskTemplate',
    method: 'post',
    data
  })
}

/**
 * 拷贝一个任务
 * @param {*} data
 */
export function copyTask(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/copyTaskTemplate',
    method: 'post',
    data
  })
}

/**
 *
 * @param data
 */
export function requireTaskByStudent(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/selectTaskTemplateByStudents',
    method: 'post',
    data
  })
}

/**
 *  学生任务完成情况列表
 */
export function getPageTaskInfoByStudent(data) {
  return fetch({
    method: 'post',
    url: '/api/welcomeservice/taskTemplate/selectTaskTemplateByStudents',
    data: data
  })
}

/**
 * 任务完成情况统计，分页查询
 * @param data
 */
export function getAllStudentTaskStatus(data) {
  return fetch({
    url: '/api/welcomeservice/taskInfo',
    method: 'post',
    data
  })
}

/**
 * 导出-任务完成情况
 * @param params
 */
export function exportStudentForTask(params) {
  let url = '/api/welcomeservice/taskInfo/exportTaskInfoByStudent';
  let query = '?';
  for(let key in params) {
    query += key;
    query += '=';
    query += params[key];
    query += '&'
  }

  return fetch({
    url: url+query,
    method: 'get',
    showMask: false
  })
}

/**
 * 迎新报到比例统计
 * @param data
 */
export function taskStudent(data) {
  return fetch({
    url: '/api/welcomeservice/taskStudent/',
    method: 'post',
    data
  })
}

/**
 * 迎新任务统计-任务比率
 */
export function taskTotle() {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/',
    method: 'get'
  })
}

/**
 * 根据type查询全量字典，不受数据分权限制
 */
export function getDicByType(data) {
  return fetch({
    url: '/api/welcomeservice/taskTemplate/dictionary/'+data,
    method: 'get'
  })
}
